首页 > 试题广场 >

长度为 K 的重复字符子串

[编程题]长度为 K 的重复字符子串
  • 热度指数:6938 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
给你一个由小写字母组成的长度为n的字符串 S ,找出所有长度为 k 且包含重复字符的子串,请你返回全部满足要求的子串的数目

数据范围: ,
进阶: 时间复杂度,空间复杂度
示例1

输入

"createfunonyoka",4

输出

4
示例2

输入

"yokagames",3

输出

1
示例3

输入

"yoka",4

输出

0
class Solution:
    def numKLenSubstrRepeats(self , s , k ):
        # write code here
        res = 0
        for i in range(len(s)-k+1):
            if len(s[i:i+k]) != len(set(s[i:i+k])):
                res += 1
        return res

发表于 2022-07-06 23:17:26 回复(0)
class Solution:
    def numKLenSubstrRepeats(self , s , k ):
        # write code here
        count = 0
        l = 0
        while l+k <= len(s):
            sub = s[l:l+k]
            # 检查是否有重复字符
            repeated = False
            d = {}
            for ch in sub:
                if ch in d:
                    repeated = True
                    break
                else:
                    d[ch] = 1
            if repeated:
                count += 1
            l += 1
        return count

发表于 2022-04-21 17:17:15 回复(0)
class Solution:
    def numKLenSubstrRepeats(self , s , k ):
        # write code here
        res=0
        for i in range(len(s)-k+1):
            if len(s[i:i+k])!=len(set(s[i:i+k])):
                res+=1
        return res

发表于 2022-01-15 03:50:55 回复(0)

问题信息

上传者:小小
难度:
3条回答 5232浏览

热门推荐

通过挑战的用户

查看代码